package com.situ.mall.admin.controller;


import com.situ.mall.admin.entity.AdminMenu;
import com.situ.mall.admin.service.IAdminMenuService;
import com.situ.mall.admin.vo.InitVO;
import com.situ.mall.base.util.URLUtil;
import com.situ.mall.base.vo.LayuiTableVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import org.springframework.stereotype.Controller;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author darling
 * @since 2023-03-17
 */
@Controller
@RequestMapping(URLUtil.MENU)
public class AdminMenuController {


    @Autowired
    private IAdminMenuService adminMenuService;

    // 返回页面
    @GetMapping(URLUtil.PAGE)
    public String page(){
        return URLUtil.MENU_HTML;
    }

    // 查询所有菜单
    @GetMapping(URLUtil.LIST)
    @ResponseBody
    public LayuiTableVO list(){
        return adminMenuService.doList();
    }

    @GetMapping(URLUtil.INIT)
    @ResponseBody
    public InitVO init() {
        return adminMenuService.init();
    }

    // 执行删除操作
    @PostMapping(URLUtil.DELETE)
    @ResponseBody
    public void del(Integer id){
        adminMenuService.doDel(id);
    }

    // 删除的前置操作，是先查出没有子菜单的菜单
    @GetMapping("/{id}")
    @ResponseBody
    public AdminMenu selectById(@PathVariable("id") Integer id){
        return adminMenuService.getById(id);
    }

    // 新增或修改
    @PostMapping(URLUtil.SAVE)
    @ResponseBody
    public void save(AdminMenu adminMenu){
        adminMenuService.saveOrUpdate(adminMenu);
    }


}
